package org.summerframework.component.security.permissions.model.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import org.summerframework.core.base.dto.BaseDO;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * user_permissions
 *
 * @author
 */
@TableName("user_permissions")
@Getter
@Setter
public class UserPermissionsDO extends BaseDO {
    /**
     * 权限名称
     */
    private String name;

    /**
     * 权限编码
     */
    private String code;

    /**
     * 权限类型
     */
    private Integer type;

    /**
     * 权限地址
     */
    private String url;

    /**
     * 上级id
     */
    private Long parentId;

    /**
     * 排序
     */
    private Integer sortIndex;

    /**
     * 图标
     */
    private String icon;

    /**
     * 状态  1: 正常  0: 禁用
     */
    private Integer status;

    /**
     * 描述
     */
    @TableField("`desc`")
    private String desc;

    /**
     * 参数
     */
    private String params;

    /**
     * 是否系统 1:是 0:否
     */
    private Integer isSystem;

    /**
     * 是否删除
     */
    @TableLogic
    private Integer delFlag;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    private String requestMappingInfo;
}
